Data-protection technologies (such as data-replication, continuous-data-protection, snapshot, and/or backup technologies) may enable organizations to protect and/or improve the reliability, fault-tolerance, and/or accessibility of their applications and/or data. For example, an organization may replicate, minor, or otherwise copy data (or input/output (“I/O”) operations directed to such data) from a primary site or device (such as an application server) to a secondary (i.e., backup) site or device for data-protection purposes.
Data-protection technologies typically protect data either at the file level or at the block level. For example, a data-level replication agent may replicate data in a volume on a block-by-block basis. While block-level data-protection technologies may offer various performance advantages over file-level technologies (since, e.g., block-level technologies do not need to access files via, and/or receive permissions from, a file system), block-level technologies are typically unable to protect data on a file-by-file basis. For example, a user may unable to instruct a block-level replication agent to only replicate writes that are directed to a select set of files within a file system since the replication agent may lack access to or knowledge of the file system and its structure. Similarly, a user may unable to instruct a block-level copy-on-write snapshot agent to only add writes that are directed to a select set of files within a file system to a snapshot since the snapshot agent may lack access to or knowledge of the file system and its structure.
As such, the instant disclosure identifies a need for achieving file-level data-protection operations while maintaining the performance advantages offered by data-level technologies.